<template>
  <uvInput
    :value="value"
    :type="type"
    :fixed="fixed"
    :disabled="disabled"
    :disabledColor="disabledColor"
    :clearable="clearable"
    :password="password"
    :maxlength="maxlength"
    :placeholder="placeholder"
    :placeholderClass="placeholderClass"
    :placeholderStyle="placeholderStyle"
    :showWordLimit="showWordLimit"
    :confirmType="confirmType"
    :confirmHold="confirmHold"
    :holdKeyboard="holdKeyboard"
    :focus="focus"
    :autoBlur="autoBlur"
    :disableDefaultPadding="disableDefaultPadding"
    :cursor="cursor"
    :cursorSpacing="cursorSpacing"
    :selectionStart="selectionStart"
    :selectionEnd="selectionEnd"
    :adjustPosition="adjustPosition"
    :inputAlign="inputAlign"
    :fontSize="fontSize"
    :color="color"
    :prefixIcon="prefixIcon"
    :suffixIcon="suffixIcon"
    :suffixIconStyle="suffixIconStyle"
    :prefixIconStyle="prefixIconStyle"
    :border="border"
    :readonly="readonly"
    :shape="shape"
    :customStyle="customStyle"
    :formatter="formatter"
    :ignoreCompositionEvent="ignoreCompositionEvent"
    @focus="e => $emit('focus', e)"
    @blur="e => $emit('blur', e)"
    @keyboardheightchange="$emit('keyboardheightchange')"
    @change="e => $emit('change', e)"
    @input="e => $emit('input', e)"
    @confirm="e => $emit('confirm', e)"
    @clear="$emit('clear')"
    @click="$emit('click')"
  >
    <!-- #ifdef MP -->
    <slot name="prefix"></slot>
    <slot name="suffix"></slot>
    <!-- #endif -->
    <!-- #ifndef MP -->
    <slot name="prefix" slot="prefix"></slot>
    <slot name="suffix" slot="suffix"></slot>
    <!-- #endif -->
  </uvInput>
</template>

<script>
/**
 * 此组件存在的理由是，在nvue下，u-input被uni-app官方占用了，u-input在nvue中相当于input组件
 * 所以在nvue下，取名为u--input，内部其实还是u-input.vue，只不过做一层中转
 */
import uvInput from '../u-input/u-input.vue';
import props from '../u-input/props.js'

export default {
  name: 'u--input',
  mixins: [uni.$u.mpMixin, props, uni.$u.mixin],
  components: {
    uvInput
  }
}
</script>